@echo off
chcp 65001 >nul
echo 🚀 使用Yarn安装依赖（绕过npm权限问题）...

:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  建议以管理员身份运行此脚本
    echo 右键点击此文件，选择"以管理员身份运行"
    echo.
)

echo 📋 开始使用Yarn安装...

:: 1. 检查Yarn是否已安装
echo 步骤1: 检查Yarn...
yarn --version >nul 2>&1
if %errorlevel% neq 0 (
    echo Yarn未安装，正在安装...
    
    :: 使用npm安装yarn（如果npm可用）
    npm --version >nul 2>&1
    if %errorlevel% equ 0 (
        echo 使用npm安装Yarn...
        npm install -g yarn --registry=https://registry.npmmirror.com/
    ) else (
        echo 下载Yarn安装包...
        powershell -Command "Invoke-WebRequest -Uri 'https://yarnpkg.com/latest.msi' -OutFile 'yarn-installer.msi'"
        echo 请手动运行yarn-installer.msi安装Yarn
        pause
        exit /b 1
    )
)

:: 2. 配置Yarn
echo 步骤2: 配置Yarn...
yarn config set registry https://registry.npmmirror.com/
yarn config set cache-folder "%USERPROFILE%\.yarn-cache"

:: 3. 清理现有依赖
echo 步骤3: 清理现有依赖...
if exist "node_modules" rmdir /s /q "node_modules"
if exist "yarn.lock" del "yarn.lock"

:: 4. 安装依赖
echo 步骤4: 安装依赖...
echo 这可能需要几分钟时间，请耐心等待...
yarn install

if %errorlevel% neq 0 (
    echo.
    echo ❌ Yarn安装失败，尝试其他方法...
    echo.
    echo 🔄 请尝试：
    echo 1. 以管理员身份运行此脚本
    echo 2. 手动安装Yarn: https://yarnpkg.com/getting-started/install
    echo 3. 使用pnpm: npm install -g pnpm && pnpm install
) else (
    echo.
    echo ✅ 依赖安装成功！
    echo.
    echo 🚀 现在可以启动服务器了：
    echo    yarn dev
    echo 或
    echo    npm run dev
    echo 或
    echo    start.bat dev
)

echo.
pause
